
#函数 def
# def sha():
#     print('举头望明月，低头打python!')
# sha()

#声明函数
# def a():
#     a = 3
#     b = 5
#     s = a+b
#     print(s)
#     return a
# #调运
# c = a()
# print(c)


#形参和实参

def xi(a,b):
    print(a+b)

# xi(5,6)

#
# a=1
# b=2
# xi(a,b)

#
# xi(2*5,5*6)
#
# c=5
# ad=(8,c+5)


#位置参数显示
# def ads(a,d,f):
#     print('张三分数：',a)
#     print('李四分数：',d)
#     print('王五分数：',f)
# ads(456,542,666)
#
#



#带默认值参数
# def reg(name,age,sex="女"):
#     print('名字:{}年龄{}性别{}'.format(name,age,sex))
#
# reg('张三',20)
# reg('李四',21,'男')
#

#可变参数
# def fav(*fru):
#     print("我喜欢的水果：")
#     for a in fru:
#         print(a)
#
# fav('苹果')
# fav('苹果','香蕉','西瓜')
# fav('菠萝','香蕉','橘子','哈密瓜','草莓','葡萄')

#参数的值大于等于二，如果声明函数的时候有其他形参，通长会吧可变长参数放在后面
# def show(a,b,*l):
#     print(a)
#     print(b)
#     print(l)
#
#
# show(1,2,3,5,7,9,100)



#练习1
# def o():
#     x=int(input('请输入长度：'))
#     y=int(input('请输入宽度:'))
#     s=x * y
#     p=2*(x+y)
#     print('面积：', s)
#     print('周长：',p)
# o()

#返回值 （函数：return)
# def x(a,b):
#     c=a+b
#     return c,a,b,a*b,a-b
#
# d=x(1,2)
# print(d)

#变量的作用域
# 全局变量（格式不用缩进）
# def x():
#     a=10
#     return a
#
# a= 100
# print(a)
# print(x())
# #局部变量（格式在函数内）
# def a(*x):
#     for i in x:
#         if i % 2 == 0:
#             print("该输入除2等于零")
#         if i>10:
#             print('输入大于10')
# a(1,2,3,11,22,55)

#利用递归计算1~100相加之和
# def sum(n):
#     if n==1:
#         return 1
#     else:
#         return  n +sum(n-1)
# print('1~100相加的和为',sum(100))

#计算斐波那契数列 F(0)=0,F(1)=1,F(n)=F(N-1)+F(n-2)
# def fid(n):
#     if n<=2:
#         return 1
#     else:
#         return fid(n-1)+fid(n-2)
#
# print('斐波那契数列的第{}项为{}'.format(7,fid(7)))

#匿名函数
##<匿名函数>=lambda<函数列表>：<表达式>
# sum=lambda a,b,c,:a+b+c
# print(sum(1,2,3))

#编写lambda函数，参数为正方形的边长为M,输出正方形的面积。
# fun =lambda m:m**2
# print(fun(5))